Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move memoset to coroutine module. #1048

Merged
merged 1 commit into from
Jan 16, 2024
Merged

Move memoset to coroutine module. #1048

merged 1 commit into from
Jan 16, 2024

Conversation

porcuquine
Copy link
Contributor

As discussed with @gabriel-barrett, it definitely no longer makes sense to house the memoset module in coprocessors.

Although memoset::query::Query implements something conceptually like a Coprocessor, it's not identical. We had thought maybe we could still use the Coprocessor mechanism to implement the proving circuits, but that also seems to be a mismatch.

So, to minimize confusion, as we gradually concretize the semantics and lexicon, we decided to re-house memoset entirely. The reason for the new coroutine module is that we think this is the lexical equivalent of coprocessor. It may be that a Coroutine trait emerges, implemented by Query variants. The Coprocessor trait structure won't be directly applicable because of the demands of mutual recursion.

More thought is needed, but the current PR only does the most conservative thing.

@porcuquine porcuquine requested a review from a team as a code owner January 13, 2024 00:44
@porcuquine porcuquine enabled auto-merge January 16, 2024 00:34
@porcuquine porcuquine added this pull request to the merge queue Jan 16, 2024
Merged via the queue into main with commit ed0d049 Jan 16, 2024
11 checks passed
@porcuquine porcuquine deleted the coroutines branch January 16, 2024 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants